// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

#include "pch.h"

// react-native-uwp.dll never links JavaScriptCore (we always use Chakra)
// however, since we share ReactCommon with react-native-win32, which can
// optionally use JavaScriptCore (temporarily), we need to stub some stuff out
// so we can link. This file should go away when we stop comparing perf
// of JavaScriptCore and Chakra so we can remove JavaScriptCore entirely.

extern "C" {

__declspec(dllexport) void *__imp_JSValueMakeString = nullptr;
__declspec(dllexport) void *__imp_JSValueMakeFromJSONString = nullptr;
__declspec(dllexport) void *__imp_JSValueCreateJSONString = nullptr;
__declspec(dllexport) void *__imp_JSValueToStringCopy = nullptr;
__declspec(dllexport) void *__imp_JSValueToObject = nullptr;
__declspec(dllexport) void *__imp_JSValueUnprotect = nullptr;
__declspec(dllexport) void *__imp_JSObjectMake = nullptr;
__declspec(dllexport) void *__imp_JSObjectMakeError = nullptr;
__declspec(dllexport) void *__imp_JSObjectGetProperty = nullptr;
__declspec(dllexport) void *__imp_JSObjectSetProperty = nullptr;
__declspec(dllexport) void *__imp_JSObjectGetPropertyAtIndex = nullptr;
__declspec(dllexport) void *__imp_JSObjectSetPropertyAtIndex = nullptr;
__declspec(dllexport) void *__imp_JSObjectCallAsFunction = nullptr;
__declspec(dllexport) void *__imp_JSObjectCallAsConstructor = nullptr;
__declspec(dllexport) void *__imp_JSObjectCopyPropertyNames = nullptr;
__declspec(dllexport) void *__imp_JSPropertyNameArrayRelease = nullptr;
__declspec(dllexport) void *__imp_JSPropertyNameArrayGetCount = nullptr;
__declspec(dllexport) void *__imp_JSPropertyNameArrayGetNameAtIndex = nullptr;
__declspec(dllexport) void *__imp_JSContextGetGlobalObject = nullptr;
__declspec(dllexport) void *__imp_JSStringCreateWithUTF8CString = nullptr;
__declspec(dllexport) void *__imp_JSStringRetain = nullptr;
__declspec(dllexport) void *__imp_JSStringRelease = nullptr;
__declspec(dllexport) void *__imp_JSStringGetLength = nullptr;
__declspec(dllexport) void *__imp_JSStringGetCharactersPtr = nullptr;
__declspec(dllexport) void *__imp_JSValueGetType = nullptr;
__declspec(dllexport) void *__imp_JSValueMakeUndefined = nullptr;
__declspec(dllexport) void *__imp_JSValueMakeNull = nullptr;
__declspec(dllexport) void *__imp_JSValueMakeNumber = nullptr;
__declspec(dllexport) void *__imp_JSClassCreate = nullptr;
__declspec(dllexport) void *__imp_JSClassRelease = nullptr;
__declspec(dllexport) void *__imp_JSObjectGetPrivate = nullptr;
__declspec(dllexport) void *__imp_JSGlobalContextCreateInGroup = nullptr;
__declspec(dllexport) void *__imp_JSGlobalContextRelease = nullptr;
__declspec(dllexport) void *__imp_JSGlobalContextSetName = nullptr;
__declspec(dllexport) void *__imp_JSStringIsEqualToUTF8CString = nullptr;
__declspec(dllexport) void *__imp_JSEvaluateScript = nullptr;
__declspec(dllexport) void *__imp_JSObjectMakeFunctionWithCallback = nullptr;
__declspec(dllexport) void *__imp_JSValueProtect = nullptr;
__declspec(dllexport) void *__imp_JSValueToNumber = nullptr;
__declspec(dllexport) void *__imp_JSObjectSetPrivate = nullptr;
}
